Method of obtaining a user selection

ABSTRACT

The present invention provides a method of obtaining a user selection in a software system, from a user with a musical instrument. One or more musical sounds are associated with each of a plurality of selectable objects (e.g. icons, menu items), which are provided to a user on a display. Musical audio is then received from the user, by playing on the musical instrument (e.g. guitar). The audio input may be received via a microphone or other audio input device. Then, the audio signal is analysed to determine whether the user played the one or more musical sounds associated with a selectable object. If so, that object is selected.

PRIORITY CLAIM

This application claims priority from Australian Patent Application No 2009903118, the entire contents of which are hereby incorporated by reference.

FIELD OF THE INVENTION

The present invention relates to methods of obtaining user input.

BACKGROUND OF THE INVENTION

In software based systems there is often a need to obtain user input when the user has a range of choices available to them. For example, when using a text editor on a computer, a file menu often includes selectable menu items for saving a file, opening a new file, closing a file, printing a file or exiting the text editor and the user may make a selection using a keyboard or a mouse. In another example, a user interface on a mobile phone or on a lift interface may include an array of buttons. A user may enter a telephone number, or select a floor they wish to go to by pressing one or more buttons on the interface panel. In another example, a controller in a gaming system may include buttons and a joystick which allow the user to select a menu item or use an item within the game.

Various software systems also exist which analyse musical audio input. These systems may be for musical education/tuition applications, where a user plays a musical piece using a musical instrument, and the system provides feedback based on the user performance. Alternatively, they may be games or simulations for providing a user with an enjoyable experience, e.g. of performing with a professional band. The musical audio signal may be an analogue audio signal such as from a pickup on a guitar, or a microphone external to the instrument, which may then be digitised and processed by a sound card, or a digital signal may be provided such as via a MIDI interface. Such systems can often process pre-recorded music files (.wav, .mp3 etc).

Examples of such software systems include music composition software, in which a user can play a note or a piece of music on the instrument, and the software receives this musical audio input, attempts to recognise the played note or notes, and then records and displays the recognised note or notes on the screen. This facilitates creation and transcription of music to produce a musical score which can then be saved. Such systems are typically far from perfect, and the user often has to edit the score to correct notes, add notes and add other musical information to obtain a finished score. This process is generally accomplished using conventional input means, such as a mouse and keyboard, for control of the software.

Other systems that receive musical audio input from musical instruments include tutoring systems to assist with learning to play a musical instrument, as well as simulation and gaming systems. For example, U.S. Pat. No. 5,990,405 (Auten et al) describes a system whereby a musician can play their instrument (e.g. a guitar) along with a pre-recorded live performance of a song. These types of systems typically allow a user to, for example, select the song they wish to play using conventional input means—e.g. mouse, keyboard, or customised keypad or other control device.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention, there is provided a method for obtaining a user selection in a software system from a user with a musical instrument, the method comprising:

-   -   associating one or more musical sounds with each of a plurality         of selectable objects in a software system;     -   providing to the user representations of at least two of the         plurality of selectable objects;     -   receiving a musical audio input from the user; and     -   selecting one of the plurality of selectable objects if the         received musical audio input corresponds to the one or more         musical sounds associated with the selectable object.

The present invention is suited to applications in software systems which analyse a user's musical input. Because the present invention allows a user to make selections (e.g. menu selections) using a musical instrument, it reduces or may even eliminate the need for other input devices to be used.

The method may further comprise providing to the user representations of the associated one or more musical sounds. These may be provided by displaying on a display means a musical representation of the associated one or more musical sounds along with the selectable object.

The one or more musical sounds may include musical notes or chords. They may be permanently or semi-permanently associated with a selectable object, or alternatively one or more musical sounds may be dynamically associated with a selectable object. A combination of these approaches may be used (ie some selectable objects have permanent associations, whilst others have dynamic associations).

The method may further comprise associating a skill level with the user, and the skill level may be used in choosing the distinct one or more musical sounds to be associated with each of the plurality of selectable objects. Further the skill level may be used in determining if the received musical audio input corresponds to the one or more musical sounds associated with the selectable object.

In a second aspect of the present invention, there is provided a system for obtaining a user selection in a software system from a user with a musical instrument, the system comprising:

-   -   a processor adapted to perform the method of the first aspect of         the present invention; and     -   a memory in communication with the processor.

In a third aspect of the present invention, there is provided a system for obtaining a user selection in a software system from a user with a musical instrument, the system comprising:

-   -   means for associating one or more musical sounds with each of a         plurality of selectable objects in a software system;     -   means for providing to the user representations of at least two         of the plurality of selectable objects;     -   means for receiving a musical audio input from the user; and     -   means for selecting one of the plurality of selectable objects         if the received musical audio input corresponds to the one or         more musical sounds associated with the selectable object.

According to a further aspect of the present invention, there is provided a computer usable medium encoded with data representing a computer program that can be used to direct a programmable device to perform the method of any one of claims 1 to 11.

According to a further aspect of the present invention, there is provided an apparatus adapted to perform the preceding method. Yet further aspects of the present invention will be revealed throughout this specification.

A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate by way of example the principles of the invention. While the invention is described in connection with such embodiments, it should be understood that the invention is not limited to any embodiment. On the contrary, the scope of the invention is limited only by the appended claims and the invention encompasses numerous alternatives, modifications and equivalents. For the purpose of example, numerous specific details are set forth in the following description in order to provide a thorough understanding of the present invention.

The present invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the present invention is not unnecessarily obscured.

BRIEF DESCRIPTION OF THE DRAWINGS

An illustrative embodiment of the present invention will be discussed with reference to the accompanying drawings wherein:

FIG. 1 depicts the components of a system according to an embodiment of the present invention;

FIG. 2A represents a display of a menu comprising selectable menu items having a textual representation of a note associated with each selectable menu item according to an embodiment of the present invention;

FIG. 2B represents the menu in FIG. 2A but with textual representations replaced with stave notation representations according to an embodiment of the present invention;

FIG. 3A represents a display of a menu with selectable menu items having a textual representation of a chord associated with each selectable menu item according to an embodiment of the present invention;

FIG. 3B represents the menu in FIG. 3A showing guitar tablature representations for the same chords in FIG. 3A according to an embodiment of the present invention;

FIG. 3C represents the menu in FIG. 3A showing stave notation representations for the same chords in FIG. 3A according to an embodiment of the present invention;

FIG. 4 represents a display of a menu with selectable menu items having a stave notation representation of a musical phrase associated with each selectable menu item according to an embodiment of the present invention;

FIG. 5 represents a display of menu with selectable menu items having a textual representation of a note associated with selectable menu navigation controls for selecting an item in a list according to an embodiment of the present invention;

FIG. 6 is a flowchart of method for obtaining a user selection in a software system from a user with a musical instrument an embodiment of the present invention; and

FIG. 7 represents a display of a menu with selectable menu items having a textual representation of a chord associated with each selectable menu item according to an embodiment of the present invention.

In the following description, like reference characters designate like or corresponding parts throughout the several views of the drawings.

DETAILED DESCRIPTION

An embodiment of the present invention is described below with reference to an interactive gaming system in which the user plays a guitar. However, it should be made clear that the present invention may be utilised for many different instruments, including other string instruments, pianos/keyboards, wind instruments, vocals, etc, where it is possible to obtain musical audio input. Further the present invention may be utilised for a variety of software based systems, including interactive gaming systems, interactive tutoring systems, karaoke systems, and musical composition systems.

FIG. 1 depicts a system 100 according to an embodiment of the present invention. The system 100 comprises a microphone 120 for receiving musical audio input from a guitar 110, and an interface device 130, including a processor. The system 100 also comprises a video screen 140 as well as a pair of speakers 150.

The interface device 130 may be a personal computer or a game console. It may a central processing unit (CPU), containing an Input/Output Interface for communication with input and output devices, an Arithmetic and Logic Unit (ALU) and a Control Unit and Program Counter element, and a memory in communication with the CPU.

The software system running on the interface device 130 could take a wide variety of forms. For example, it could be a musical game, or a tutorial for teaching the user to play the guitar 100. Alternatively, the present invention could be used to allow the user to interact with non-musical software (e.g. the operating system) running on the interface device 130.

The video screen 140 can display video output from the software system, and the speakers 150 can provide audio output. The system 100 may also comprise conventional input devices, such as a mouse or keyboard, or a game console controller.

Such software systems are interactive, in that they require the user of the software to navigate various menus, or select various selectable items, in order to set parameters or to allow the user to interact in a desired way. In the above system the user may simulate participation in a musical performance (either simulated or pre-recorded). The user may choose which instrument they wish play, and the song they wish to hear and perform. They may save or restore their game, or make a variety of other selections. In some instances, they may select their skill level—for example, in the system described in this embodiment, the user can select their skill level as being “beginner”, “intermediate”, “advanced”, “pro” or master” level. This skill level may then be used to assess the quality of the user's performance, with beginner level being the easiest assessment and master being the strictest assessment of the quality of the user's performance.

Typically such software based systems use menus with selectable menu items, or icons or other selectable objects displayed on the user interface. The user will thus be presented with a plurality of selectable objects in the software system. The user can then select a desired object (which corresponds to a setting or method of playing or otherwise interacting with the software), and the software system will receive and process this selection.

According to an embodiment of the present invention, the user of a musical instrument may utilise the musical instrument to make a selection. This may be achieved by the software system associating a representation of one or more musical sounds with each of the plurality of selectable objects in a software system.

This is illustrated in more detail in FIG. 2A. FIG. 2A shows a display 200 according to an embodiment of the present invention. The display includes a menu 210 with three selectable menu items (options 1, 2 and 3), which are labelled “New Game” 220, “Load Game” 230, and “Back” 240. Option 1 corresponds to opening a new game file, option 2 corresponds to loading a pre-existing game file and option 3 allows the user to go back to a previous menu. The software system associates a note with each menu item (selectable object). In the present example the software system has associated the note “E” with option 1 (new game), the note “B” with option 2 (load game), and the note “G” with option 3 (back).

The menu 210 illustrated in FIG. 2A includes a textual representation of the notes, with notes E, B and G represented by the text phrases “Play E String” 222, “Play B String” 232, “Play G String” 242. Other representations of the notes are possible. FIG. 2B shows another embodiment of the menu in FIG. 2A but using stave notation representations of the musical notes E 224, B 234 and G 244.

The user then decides which object they wish to select. For example they may wish to start a new game, in which case they play the E string on their guitar 110. The microphone 120 converts the played note into a musical audio input. The system 130 then receives this musical audio input from the user. A processor in the system 130 processes the received musical audio input and compares the received musical audio input signal from the user with an internal representation of the notes E, B and G. In the example, the system identifies that the played note corresponds to the note E, and thus proceeds to select a new game (option 1).

The above method for obtaining a user selection in a software system from a user with a musical instrument is presented as a flowchart 600 in FIG. 6.

The flowchart 600 includes an optional step of associating a skill level associated with the user 610. For a software game embodiment, a default value (such as “beginner”) may be associated or assigned to the user. This information may be stored with the game file, and may also be stored in the memory of the system interface device 130, in another file on a storage means associated with the system interface device 130. When the software program is executing, the processor may receive the information by accessing the appropriate section of memory or accessing the game file or other file storing this information. This may be performed at the start of a gaming session, such as when a game is reloaded, or at a later time in the session as required. As a further point, the method of the invention may be used to allow the user to select their skill level. This updated selection may then be saved in the game file (or other appropriate location).

At step 620, the method comprises the step of associating one or more musical sounds with each of a plurality of selectable objects in a software system. This may be performed as an initialisation step when loading the game and be performed for all possible selectable objects in the software system. It may be a pre-set condition of the game—e.g. the top menu item always corresponds to an A note, the second always corresponds to a B note, etc. In such cases, it may not be necessary to display the musical sound to the user on the display, along with the menu items—this information may be contained within a game manual or other documentation separate to the software system.

Alternatively, the allocation of musical sounds to selectable objects may be done on a once-off, as needed basis during a gaming session. That is, the first time a selectable objection is to be provided to the user, the software system associates one or more musical sounds with the selectable object, and uses this for the rest of the session. Thus in some embodiments the one or more musical sounds is permanently or semi-permanently associated with a selectable object.

Alternatively, the association could be performed dynamically, so that the step of associating one or more musical sounds with the selectable object is performed for each instance of the selectable object. Clearly, selectable objects presented to the user at the same time will need to be associated with distinct combinations of one or more musical sounds to allow distinct selection of the objects. This does not prevent two objects having the same associated one or more musical sounds provided they are not presented to the user at the same time or that they are not in the same musical order (eg playing E-A-G is distinct from playing G-E-A).

In some embodiments, a combination of these approaches may be utilised. For example some selectable objects, such as those associated with frequently used tasks, basic navigation, or initial menus (e.g. opening a file, loading or file, going back or exiting) could use permanent or semi-permanent associations. Often these would be single notes or simple chords to facilitate ease of use by all users independent of their skill level, or alternatively to allow game loading and/or rapid menu navigation. Dynamic association could be provided for more items or selectable objects used in more specific areas of the software application, such as a list of songs, selecting skill level etc.

As mentioned above, a skill level may be associated with a user. In such a case, the skill level may be used in choosing the one or more musical sounds to be associated with each of the plurality of selectable objects. For example, a selectable object could have a more difficult combination of notes or chords associated it when the user's skill level is “master” as compared to when the user's skill level is “beginner”. This also illustrates one example of how associations may be semi-permanent—they may be permanent for a user provided they don't change their skill level. Changing the skill level could then trigger reassociating of musical sounds with selectable objects.

Accordingly, the step of associating one or more musical sounds with each of a plurality of selectable objects in a software system may be performed well prior to obtaining a user selection, or as part of the dynamic process of obtaining a user selection.

When the software system determines that a user selection is required, the system proceeds at step 630 to provide to the user with representations of at least two of the plurality of selectable objects, and (optionally) representations of the associated one or more musical sounds. In many cases this comprises displaying on a display means a musical representation of the associated one or more musical sounds along with the selectable object. This thus provides information to the user on how they may make a selection. The user can then make their choice, and play the appropriate musical sounds indicated by the musical representation.

At step 640, the system receives musical audio input from the user. With reference to FIG. 1, this may be an analogue signal from the microphone 120, representing the musical notes played by the user, which is provided to the system interface. The system interface may have a sound card, analogue to digital converter, or other appropriate hardware and software which can produce a digital representation of the signal. In some instances, the musical audio input could be a digital signal. Alternatively such hardware may be provided on the instrument and then sent via a wired or wireless link to the system interface device. In another example, the instrument may provide a MIDI output which can be connected to the system interface device. In another embodiment the system interface device may contain circuits and/or hardware for receiving and processing the musical audio input as an analogue signal, without performing any digitisation of the signal.

In many systems, the objects to be selected and the associated musical representations will be visually displayed on an electronic display device attached to the computer implementing the method such as an LCD monitor, TV screen, or video projector. However, the system could be adapted for use without a display device, such as for use by vision impaired persons. In such cases, the representations need not be displayed on a display device, but may instead be displayed in a physical form such as printed on large print or in Braille alphabet on a card or other apparatus capable of providing a Braille representation of the musical representation and associated selectable object. The system could also provide the selectable items, and associated musical representations, using aural or spoken word representations (this may be done in conjunction with or without a display device). For example, a speech synthesiser could be included in the software system or by pre-recording spoken word tracks, which describe the selectable object and the one or more musical sounds which is associated with it. This embodiment could be utilised both for systems including an electronic display device, and those without.

The musical representation of one or more musical sounds can be provided using any of a variety of musical notation schemes, with the choice depending upon the application, skill level of the user or other system design considerations. In one example the musical representation may be textual instructions, such as “play an A” or “play an E”. Alternatively common (or uncommon) musical notation schemes may be used.

For example, modern musical notation (using five-line staves, with notes positioned on it) may be used, as shown in FIG. 3C and FIG. 4. Alternative forms of musical notation also exist, which may be simpler for some users—for example, tablature which shows instrument fingering rather than musical pitches—e.g. directing the musician to place a finger on the 3^(rd) fret of the A string. Tablature is commonly used for fretted instruments, and is simpler for a beginner to read—all they need to do is place their fingers on the indicated string or fret. An example is shown in FIG. 3B.

In the case of guitar tablature for a 6 string guitar using traditional EADGBE tuning over a 2 octave range, the tablature is defined by a 6×6 grid. The 6 vertical lines corresponding to the 6 strings, with the left most line corresponding to the sixth string or low E and the right most vertical line corresponding to the first string or high E (thinnest string). The 6 horizontal lines correspond to the first 6 guitar frets. As each guitar fret is located at a half step interval, the 5th fret on one string is the same note as the next open string (e.g. the 5th-fret note on the lower E or sixth string is the same note as the open A string or fifth string). The exception is the interval between the second and third strings, in which the 4th-fret note on the third string is equivalent to the open second string. An “O” above a string represents the open string, and a filled in circle between two horizontal lines indicates the finger is pressed down between the corresponding frets. An “X” above a string may be used to indicate the string is not played. This system is known as the CAGED system, and as would be appreciated by the person skilled in the art, there are many variations on this tablature scheme. This tablature system will be referred to as guitar chord representations.

Many instruments allow multiple notes to be played simultaneously. Such instruments allow chords to be played, which consist of a set of three or more different notes from a specific key that sound simultaneously. Most western music uses tertian chords which include three notes, with the first two notes being separated by major third, and the next two notes being separated by a minor third. Thus the C Major chord is formed from the notes C-E-G. Such chords define a major triad of notes. By varying the intervals variants chords may be produced such as minor triads (major third lowered by a half step), augmented triads (augmented fifth rather than a perfect fifth), and diminished triads (diminished fifth instead of a perfect fifth). Other variants include inverted chords, seventh chords and power chords. Various notation schemes exist for chords. A commonly used system involves the use of chord notation symbols, in which the first letter indicates the root of the chord (eg “C”), which may then be modified by placing additional symbols after the chord, such as −, “m”, “mi” or “min” for minor triad, a “+” or “aug” for an augmented triad, and a degree symbol “°” or “dim” for a diminished triad. Other systems include macro symbols (major=uppercase letter, minor=lowercase letter, diminished triad=lowercase °, and augmented triad=uppercase⁺), roman numerals and figured bass.

With the widening use of computer software, further variants have been developed for displaying musical composition, and many of these variations may be used in different embodiments of the present invention.

A combination of musical sounds may be combined to produce a musical phrase. Typically the representation scheme will indicate timing of notes, chords, and any gaps between then. The term musical phrase is not a precise term, although it typically represents a short piece of music (e.g. several bars). This may correspond to a line in a song, or length of time that the player can play without having to pause to take another breath or rest, but there is no strict definition (e.g. 4 bars long).

It will thus be appreciated that one or more musical sounds or a musical phrase, may be represented in a variety of ways, which for convenience will be referred to as a musical representation. FIG. 2A shows textual representation of three musical notes, E, B and G, and FIG. 2B shows the same notes in stave notation. The musical representation 224 corresponds to an “E” note (semibreve), musical representation 234 corresponds to a “B” note, and musical representation 244 corresponds to a “G” note.

FIG. 3A represents display 300 of a menu 310 with selectable menu items (“option 1” 320, “option 2” 330 and “option 3” 340) having a textual representation of a chord associated with each selectable menu item according to an embodiment of the present invention. Options 1, 2 and 3 have “C Major Chord” 322, “A Major Chord” 332 and “G Major Chord” 342 associated with them. Similarly FIG. 3B represents the menu in FIG. 3A showing guitar chord representations for the same chords in FIG. 3A. The musical representation 324 corresponds to a “C Major Chord” using tablature representation, musical representation 334 corresponds to an “A Major Chord” using tablature representation, and musical representation 344 corresponds to a “G Major Chord” using tablature representation. Similarly FIG. 3C represents the menu in FIG. 3A showing stave notation representations for the same chords in FIG. 3A. The musical representation 326 corresponds to a “C Major Chord” using a conventional stave notation representation, musical representation 336 corresponds to an “A Major Chord” using a conventional stave notation representation, and musical representation 346 corresponds to a “G Major Chord” using a conventional stave notation representation.

FIG. 4 represents display 400 of a menu 410 with selectable menu items (“option 1” 420, “option 2” 430 and “option 3” 440) having a stave notation representation of a musical phrase associated with each selectable menu item according to an embodiment of the present invention. Options 1, 2 and 3 have musical phrases for the opening melody of notes for “Twinkle Twinkle Little Star” 422, the textual representation of the chord sequence for the start of the chorus in the song “Eye of the Tiger” by the band Survivor 432, and the opening notes of “Smoke on the Water” by Deep Purple 442. FIG. 4 illustrates how different musical representations may be combined on the one screen.

It should also be noted that selectable objects may allow a user to navigate a list or move around a screen. FIG. 5 represents a display 500 of menu 510 with selectable menu items Options 1 to 8 indicated by 511 through 518. A control panel 530 includes textual representations of a note associated with selectable menu navigation controls for selecting an item in a list according to an embodiment of the present invention. In this case the “Up” control 533 has the “E” note associated with it, and a textual representation of “Play E String” 532. Similarly the “Down” control 535 has the “B” note associated with it, and a textual representation of “Play B String” 534. Using the up and down controls moves the selection up and down the list. The current selection is indicated by highlighted box 520. When the user has navigated to their selection, the may then lock, in, or select this selection by playing the G note, as instructed by navigation control “Select” 537 which has the musical representation “Play G String” 536 associated with the control. If the user does not wish to make a selection and instead wishes to go back to a previous menu then they may play a “D” note as instructed by navigation control “Back” 538 which has the musical representation “Play D String” 538 associated with the control.

FIG. 7 depicts yet another example of a display 700 with selectable menu items 710 (“option 1” 711, “option 2” 712, “option 3” 713, “option 4” 714, “option 5” 715, “option 6” 716, “option 7” 717). In this case, the representations of the musical sounds are fairly basic—each of the selectable menu items 10 as a letter next to it, ranging from A (option 1) to G (option 7). A user can select one of the menu items by playing a note corresponding to the relevant letter next to the menu item—e.g. option 1 can be selected by playing an A note.

The method then comprises the step 650 of selecting one of the plurality of selectable objects if the received musical audio input corresponds to the one or more musical sounds associated with the selectable object. As discussed above, the user plays the one or more musical sounds associated with the selectable object they wish to select. The system interface device 130 then receives the musical audio input and must make a determination of which, if any, of the one or more musical sounds associated with each selectable object correspond to the received musical audio input. This may be performed using software, hardware, or a combination of both. For example, Fast Fourier Transform (FFT), wavelet, or other signal processing techniques could be used to make the determination. Such approaches would generally involve having an appropriate internal representation of the expected musical audio signal. This may be digitally or internally produced, based on standard frequencies, and harmonics produced by an instrument, or a calibration stage could be performed, in which the user plays each musical note and the system records this for later use.

Further, in the case where there is a skill level associated with the user, the user skill level can be used in determining if the received musical audio input corresponds to the one or more musical sounds associated with the selectable object. That is, the standard of assessment in determining if the played notes correspond to the notes or chords associated with a selectable object may be varied. For example, a low quality or low degree of correlation may be required for low skill levels (beginners) where as the quality of the played notes, including timing, pitch etc, may need to be higher for higher skill levels.

The method has application in a variety of software based systems. These may be interactive gaming systems, interactive tutoring systems, or even in a karaoke system which could require a user to interact only via singing. Such systems can be made more interactive by varying the musical sounds associated with selectable items. This can increase user participation and interest and can also assist the user to learn notes and improve their musical skills.

The method could also be used more widely. In a more unusual example one could even go so far as to integrate the system into a lift controller. For example the panel could be a touch screen or an array of buttons, with a note displayed next to each floor. A user could then select a floor by singing the note into a microphone associated with the lift controller rather than pressing the button on the panel (eg “doh” or C could be the first floor, “reh” or D could be the second floor).

Many musical instruments are held using both hands. In such cases a further advantage of the system is that it allows the user to continue to control the software without the need to put down the instrument so that they provide inputs using traditional means such as a keyboard, mouse or game controller.

Those of skill in the art would understand that information and signals may be represented using any of a variety of technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

Those of skill in the art would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.

The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. For a hardware implementation, processing may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. Software modules, also known as computer programs, computer codes, or instructions, may contain a number a number of source code or object code segments or instructions, and may reside in any computer readable medium such as a RAM memory, flash memory, ROM memory, EPROM memory, registers, hard disk, a removable disk, a CD-ROM, a DVD-ROM or any other form of computer readable medium. In the alternative, the computer readable medium may be integral to the processor. The processor and the computer readable medium may reside in an ASIC or related device. The software codes may be stored in a memory unit and executed by a processor. The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.

Throughout the specification and the claims that follow, unless the context requires otherwise, the words “comprise” and “include” and variations such as “comprising” and “including” will be understood to imply the inclusion of a stated integer or group of integers, but not the exclusion of any other integer or group of integers.

The reference to any prior art in this specification is not, and should not be taken as, an acknowledgement of any form of suggestion that such prior art forms part of the common general knowledge.

It will be appreciated by those skilled in the art that the invention is not restricted in its use to the particular application described. Neither is the present invention restricted in its preferred embodiment with regard to the particular elements and/or features described or depicted herein. It will be appreciated that the invention is not limited to the embodiment or embodiments disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the scope of the invention as set forth and defined by the following claims. 

1. A method of obtaining a user selection in a software system from a user with a musical instrument, the method comprising: associating one or more musical sounds with each of a plurality of selectable objects in a software system; providing to the user representations of at least two of the plurality of selectable objects; receiving a musical audio input from the user; and selecting one of the plurality of selectable objects if the received musical audio input corresponds to the one or more musical sounds associated with the selectable object.
 2. A method as claimed in claim 1, wherein the step of providing to the user representations of at least two of the plurality of selectable objects, further comprises providing to the user representations of the one of more musical sounds.
 3. A method as claimed in claim 2, wherein the step of providing to the user representations of at least two of the of selectable objects, and a representation of the associated one or more musical sounds, further comprises displaying a musical representation of the associated one or more musical sounds along with the selectable object.
 4. A method as claimed in claim 1, wherein one or more musical sounds are permanently or semi-permanently associated with a selectable object.
 5. A method as claimed in claim 1, wherein one or more musical sounds are dynamically associated with a selectable object.
 6. A method as claimed in claim 1, further comprising associating a skill level with the user, wherein the skill level is used in choosing the distinct one or more musical sounds to be associated with each of the plurality of selectable objects.
 7. A method as claimed in claim 1, further comprising associating a skill level with the user, wherein the skill level is used in determining if the received musical audio input corresponds to the one or more musical sounds associated with the selectable object.
 8. A method as claimed in claim 1, wherein the musical instrument is a stringed instrument.
 9. A method as claimed in claim 8, wherein the musical instrument is a guitar.
 10. A method as claimed in claim 2, wherein the representations of the one or more musical sounds are in stave notation.
 11. A method as claimed in claim 1, wherein the one or more musical sounds comprise a sequence of musical sounds.
 12. A system for obtaining a user selection in a software system from a user with a musical instrument, the system comprising: a processor adapted to perform the method of claim 1; and a memory in communication with the processor.
 13. A system for obtaining a user selection in a software system from a user with a musical instrument, the system comprising: means for associating one or more musical sounds with each of a plurality of selectable objects in a software system; means for providing to the user representations of at least two of the plurality of selectable objects; means for receiving a musical audio input from the user; and means for selecting one of the plurality of selectable objects if the received musical audio input corresponds to the one or more musical sounds associated with the selectable object.
 14. A computer usable medium encoded with data representing a computer program that can be used to direct a programmable device to perform the method claim
 1. 15. An apparatus adapted to perform the method of claim
 1. 